九九九精品国产10,欧美久久综合天天,久久国产中文字幕,亚洲国产一区二区三区在线观看

    聯(lián)
    咨詢熱線:

    185-9527-1032

    聯(lián)系QQ:

    2863379292

    官方微信:

    大拿分享:去哪兒網(wǎng)https改造分享

    主機(jī)域名

    導(dǎo)讀:https大大改善了網(wǎng)站的安全性,減少了流量劫持,越安全的網(wǎng)站對(duì)用戶越有益。即便是https改造有些難度,也應(yīng)當(dāng)大力推進(jìn)https的改造。下面我們特邀了去哪網(wǎng)的同學(xué)進(jìn)行了關(guān)于https改

    發(fā)表日期:2019-03-19

    文章編輯:興田科技

    瀏覽次數(shù):9354

    標(biāo)簽:

    https大大改善了網(wǎng)站的安全性,減少了流量劫持,越安全的網(wǎng)站對(duì)用戶越有益。即便是https改造有些難度,也應(yīng)當(dāng)大力推進(jìn)https的改造。下面我們特邀了去哪網(wǎng)的同學(xué)進(jìn)行了關(guān)于https改造的分享!

    本文作者:去哪兒高級(jí)工程師歐陽何順、去哪兒網(wǎng)SEO負(fù)責(zé)人 呂令建

    一、理解HTTpS

    先不聊HTTp和HTTpS的區(qū)別,從聊天軟件說起,假設(shè)我們要實(shí)現(xiàn)A能發(fā)一個(gè)hello消息給B,如果我們要實(shí)現(xiàn)這個(gè)聊天軟件,只考慮安全性問題,要實(shí)現(xiàn)A發(fā)給B的hello消息包,即使被中間人攔截到了,也無法得知消息的內(nèi)容。

    大拿分享:去哪兒網(wǎng)https改造分享 做網(wǎng)站哪里好

    那么,如何做到真正的安全呢?目標(biāo)是A與B通信的內(nèi)容,有且只有A和B有能力看到通信的真正內(nèi)容,為了防止內(nèi)容被第三方竊取,發(fā)送方可以通過密鑰S對(duì)聊天內(nèi)容進(jìn)行加密,接收方在收到聊天內(nèi)容之后,再用密鑰S解密聊天內(nèi)容,只要密鑰不公開給第三者,同時(shí)密鑰S足夠安全,我們就可以保證只有A與B知道聊天內(nèi)容。

    大拿分享:去哪兒網(wǎng)https改造分享 做網(wǎng)站哪里好

    二、HTTpS的優(yōu)缺點(diǎn)

    優(yōu)點(diǎn)

    SEO方面:谷歌曾在2014年8月份調(diào)整搜索引擎算法,并稱“比起同等HTTp網(wǎng)站,采用HTTpS加密的網(wǎng)站在搜索結(jié)果中的排名將會(huì)更高”。

    安全性:盡管HTTpS并非絕對(duì)安全,掌握根證書的機(jī)構(gòu)、掌握加密算法的組織同樣可以進(jìn)行中間人形式的攻擊,但HTTpS仍是現(xiàn)行架構(gòu)下最安全的解決方案,主要有以下幾個(gè)好處:

    使用HTTpS協(xié)議可認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;

    HTTpS協(xié)議是由SSL+HTTp協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,要比http協(xié)議安全,可防止數(shù)據(jù)在傳輸過程中不被竊取、改變,確保數(shù)據(jù)的完整性;

    HTTpS是現(xiàn)行架構(gòu)下最安全的解決方案,雖然不是絕對(duì)安全,但它大幅增加了中間人攻擊的成本。

    缺點(diǎn)

    SEO方面:據(jù)ACM CoNEXT數(shù)據(jù)顯示,使用HTTpS協(xié)議會(huì)使頁面的加載時(shí)間延長近50%,增加10%到20%的耗電,此外,HTTpS協(xié)議還會(huì)影響緩存,增加數(shù)據(jù)開銷和功耗,甚至已有安全措施也會(huì)受到影響也會(huì)因此而受到影響。

    經(jīng)濟(jì)方面:SSL證書需要錢,功能越強(qiáng)大的證書費(fèi)用越高,個(gè)人網(wǎng)站、小網(wǎng)站沒有必要一般不會(huì)用;

    HTTpS連接緩存不如HTTp高效,大流量網(wǎng)站如非必要也不會(huì)采用,流量成本太高;

    HTTpS連接服務(wù)器端資源占用高很多,支持訪客稍多的網(wǎng)站需要投入更大的成本,如果全部采用HTTpS,基于大部分計(jì)算資源閑置的假設(shè)的VpS的平均成本會(huì)上去;

    HTTpS協(xié)議握手階段比較費(fèi)時(shí),對(duì)網(wǎng)站的相應(yīng)速度有負(fù)面影響,如非必要,沒有理由犧牲用戶體驗(yàn)。

    三、支持HTTpS的方式

    增加HTTpS的支持需要在nginx或者tomcat上增加證書(證書需要ops來購買),兩種方法只需要選用其中一種。我們選擇了通過nginx配置證書的方式來做HTTpS支持的事情。原因是這種方式可以通過ops統(tǒng)一配置證書,不需要在每臺(tái)服務(wù)器上依次配置HTTpS證書,能提升配置效率。

    通過tomcat配置證書

    在開發(fā)環(huán)境里時(shí),需要自己來生成證書:1、生成證書;2、找到j(luò)ava的目錄;3、生成一個(gè)證書。

    keytool -v-genkey -alias tomcat -keyalg RSA -keystore ~/keystore

    記住生成證書時(shí)的密碼

    在tomcat的conf/server.xml 配置里增加connector

    譬如,我的是server.xml

    <Connector port="8443"

    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

    enableLookups="true" disableUploadTimeout="true"

    acceptCount="100" debug="0" scheme="https" secure="true"

    clientAuth="false" sslprotocol="TLS"

    keystorepass="121212"---- 這個(gè)是您當(dāng)時(shí)的密碼

    SSLEnabled="true"

    keystoreFile="/home/q/keystore" -- 這個(gè)您第二步時(shí),生成證書的地址

    />

    使用這種方法,直接用request.getSchmeme()能夠看到https

    通過nginx配置證書

    在已經(jīng)購買好證書的前提下,可以通過以下方式配置證書。

    nginx配置

    server {

    listen 443;

    server_name dujia.qunar.com;

    charset utf8;

    gzip off;

    ssl on;

    ssl_certificate/home/q/nginx/ssl/server.crt;

    ssl_certificate_key/home/q/nginx/ssl/server.key;

    if ( $request_method !~ GET|pOST|HEAD ) {

    return 403;

    }

    proxy_set_header Host "dujia.qunar.com";

    proxy_set_header X-Real-Ip$remote_addr;

    proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;

    proxy_set_header dj-sch "https";

    proxy_set_header X-Real-Scheme $scheme;

    location / {

    proxy_pass http://127.0.0.1:80;

    #proxy_pass http://p.tuan.qunar.com;

    }

    }

    在java中通過X-Real-Scheme或dj-sch獲取當(dāng)前協(xié)議

    SchemeUtil.java

    private static String HTTpS_HEADER = "X-Real-Scheme";

    private static String HTTpS_SCHEME = "https";

    private static String HTTp_SCHEME = "http";

    public static String getScheme(HttpServletRequest request){

    String scheme = request.getHeader(HTTpS_HEADER);

    if(scheme != null &&scheme.equals(HTTpS_SCHEME)){

    return HTTpS_SCHEME;

    }else {

    return HTTp_SCHEME;

    }

    }

    四、代碼涉及的改動(dòng)

    頁面請(qǐng)求的靜態(tài)資源

    js && css

    后臺(tái)將jsp中域名為http://*.quanrzz.com的js,css鏈接改為 //*.qunarzz.com

    圖片

    將jsp和java工程中給出的圖片url進(jìn)行修改(原因是當(dāng)前實(shí)用的圖片服務(wù)器不能同時(shí)支持http和https),圖片的http和https域名對(duì)應(yīng)關(guān)系如下:

    大拿分享:去哪兒網(wǎng)https改造分享 做網(wǎng)站哪里好

    接口

    內(nèi)部接口:修改接口返回的url,統(tǒng)一格式為://xxx.xx.xx/;

    圖片url會(huì)根據(jù)服務(wù)請(qǐng)求端的協(xié)議做自適應(yīng),比如:用戶以https協(xié)議請(qǐng)求服務(wù),接口返回的圖片url對(duì)應(yīng)的協(xié)議也是https。圖片url不以“//xxx.xx.xx/”形式返回的原因是android和ios默認(rèn)不支持展示不帶協(xié)議的圖片。

    外部接口:當(dāng)調(diào)用其他業(yè)務(wù)線的一些接口不支持https時(shí),我們的處理方式是通過代理接口來調(diào)用這些外部接口。

    五、遇到的問題及處理方案

    nginx上對(duì)443端口的請(qǐng)求在header里添加https標(biāo)記,需要和后端保證一致;

    用戶中心個(gè)別的css和js在https環(huán)境下需要在引入時(shí)標(biāo)記css/js=ssl;

    同一個(gè)域名下面,部分內(nèi)部調(diào)用的接口,是不需要支持https的,因此在做nginx轉(zhuǎn)發(fā)的時(shí)候,需要針對(duì)這些uri做特殊處理。

    相關(guān)推薦

    更多新聞

    • 3-19

      2019

      主機(jī)域名 / 2019-03-19

      大拿分享:去哪兒網(wǎng)https改造分享

      https大大改善了網(wǎng)站的安全性,減少了流量劫持,越安全的網(wǎng)站對(duì)用戶越有益。即便是https改造有些難度,也應(yīng)當(dāng)大力推進(jìn)https的改造。下面我們特邀了去哪網(wǎng)的同學(xué)進(jìn)行了關(guān)于https改

      View details

    • 9-1

      2023

      主機(jī)域名 / 2023-09-01

      澄邁網(wǎng)絡(luò)推廣:提升業(yè)務(wù)效益的關(guān)鍵

      澄邁網(wǎng)絡(luò)推廣可以提升企業(yè)的品牌知名度。通過在搜索引擎排名靠前的位置上顯示,以及在社交媒體、博客和其他在線資源上積極參與,企業(yè)可以增加品牌的曝光度,吸引更多的目標(biāo)受眾。

      View details